[INFO] fetching crate sxd-xpath 0.4.2...
[INFO] fixing sxd-xpath-0.4.2 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate sxd-xpath 0.4.2 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate sxd-xpath 0.4.2
[INFO] finished tweaking crates.io crate sxd-xpath 0.4.2
[INFO] tweaked toml for crates.io crate sxd-xpath 0.4.2 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate sxd-xpath 0.4.2 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 4 packages to latest compatible versions
[INFO] [stderr]       Adding quick-error v1.2.3 (available: v2.0.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `sxd-xpath` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 9c3f44d4d89a7a2808b29786bae92a3a1a9ef9e66a663b0b6dc97b4f77379cb1
[INFO] running `Command { std: "docker" "start" "9c3f44d4d89a7a2808b29786bae92a3a1a9ef9e66a663b0b6dc97b4f77379cb1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9c3f44d4d89a7a2808b29786bae92a3a1a9ef9e66a663b0b6dc97b4f77379cb1" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9c3f44d4d89a7a2808b29786bae92a3a1a9ef9e66a663b0b6dc97b4f77379cb1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9c3f44d4d89a7a2808b29786bae92a3a1a9ef9e66a663b0b6dc97b4f77379cb1" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2015 edition to 2018
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `sxd-xpath` (manifest) generated 1 warning
[INFO] [stderr]     Checking peresil v0.3.0
[INFO] [stderr]     Checking typed-arena v1.7.0
[INFO] [stderr]     Checking quick-error v1.2.3
[INFO] [stderr]     Checking sxd-document v0.3.2
[INFO] [stderr]     Checking sxd-xpath v0.4.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2015 edition to 2018
[INFO] [stderr]        Fixed src/token.rs (2 fixes)
[INFO] [stderr]        Fixed src/tokenizer.rs (5 fixes)
[INFO] [stderr]        Fixed src/expression.rs (31 fixes)
[INFO] [stderr]        Fixed src/lib.rs (11 fixes)
[INFO] [stderr]        Fixed src/axis.rs (6 fixes)
[INFO] [stderr]        Fixed src/context.rs (3 fixes)
[INFO] [stderr]        Fixed src/parser.rs (50 fixes)
[INFO] [stderr]        Fixed src/node_test.rs (4 fixes)
[INFO] [stderr]        Fixed src/function.rs (40 fixes)
[INFO] [stderr]    Migrating tests/integration.rs from 2015 edition to 2018
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.19s
[INFO] [stderr] crater-edition-check: sxd-xpath v0.4.2 (/opt/rustwide/workdir) updating edition from 2015 to 2018
[INFO] [stderr]     Checking sxd-xpath v0.4.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> src/nodeset.rs:99:10
[INFO] [stdout]    |
[INFO] [stdout] 99 |         };
[INFO] [stdout]    |          ^ help: remove this semicolon
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/nodeset.rs:203:10
[INFO] [stdout]     |
[INFO] [stdout] 203 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/expression.rs:95:20
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let left = r#try!(self.left.evaluate(context)).boolean();
[INFO] [stdout]    |                    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/expression.rs:96:25
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let v = left && r#try!(self.right.evaluate(context)).boolean();
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:121:24
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let left_val = r#try!(self.left.evaluate(context));
[INFO] [stdout]     |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:122:25
[INFO] [stdout]     |
[INFO] [stdout] 122 |         let right_val = r#try!(self.right.evaluate(context));
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:200:28
[INFO] [stdout]     |
[INFO] [stdout] 200 |                 let args = r#try!(self.arguments.iter().map(|arg| arg.evaluate(context)).collect());
[INFO] [stdout]     |                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:259:20
[INFO] [stdout]     |
[INFO] [stdout] 259 |         let left = r#try!(self.left.evaluate(context));
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:260:21
[INFO] [stdout]     |
[INFO] [stdout] 260 |         let right = r#try!(self.right.evaluate(context));
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:293:20
[INFO] [stdout]     |
[INFO] [stdout] 293 |         let left = r#try!(self.left.evaluate(context)).boolean();
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:294:25
[INFO] [stdout]     |
[INFO] [stdout] 294 |         let v = left || r#try!(self.right.evaluate(context)).boolean();
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:313:22
[INFO] [stdout]     |
[INFO] [stdout] 313 |         let result = r#try!(self.start_point.evaluate(context));
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:314:26
[INFO] [stdout]     |
[INFO] [stdout] 314 |         let mut result = r#try!(value_into_nodeset(result));
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:317:22
[INFO] [stdout]     |
[INFO] [stdout] 317 |             result = r#try!(step.evaluate(context, result));
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:381:24
[INFO] [stdout]     |
[INFO] [stdout] 381 |         let left_val = r#try!(self.left.evaluate(context));
[INFO] [stdout]     |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:382:25
[INFO] [stdout]     |
[INFO] [stdout] 382 |         let right_val = r#try!(self.right.evaluate(context));
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:423:21
[INFO] [stdout]     |
[INFO] [stdout] 423 |         let value = r#try!(self.expression.evaluate(context));
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:468:25
[INFO] [stdout]     |
[INFO] [stdout] 468 |                 nodes = r#try!(predicate.select(context, nodes));
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:490:30
[INFO] [stdout]     |
[INFO] [stdout] 490 |         let mut left_nodes = r#try!(as_nodes(&self.left));
[INFO] [stdout]     |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:491:27
[INFO] [stdout]     |
[INFO] [stdout] 491 |         let right_nodes = r#try!(as_nodes(&self.right));
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 199 |         r#try!(args.exactly(0));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:212:9
[INFO] [stdout]     |
[INFO] [stdout] 212 |         r#try!(args.exactly(0));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:225:9
[INFO] [stdout]     |
[INFO] [stdout] 225 |         r#try!(args.exactly(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:226:19
[INFO] [stdout]     |
[INFO] [stdout] 226 |         let arg = r#try!(args.pop_nodeset());
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:239:9
[INFO] [stdout]     |
[INFO] [stdout] 239 |         r#try!(args.at_most(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:240:19
[INFO] [stdout]     |
[INFO] [stdout] 240 |         let arg = r#try!(args.pop_nodeset_or_context_node(context));
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:258:9
[INFO] [stdout]     |
[INFO] [stdout] 258 |         r#try!(args.at_most(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:259:19
[INFO] [stdout]     |
[INFO] [stdout] 259 |         let arg = r#try!(args.pop_nodeset_or_context_node(context));
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:277:9
[INFO] [stdout]     |
[INFO] [stdout] 277 |         r#try!(args.at_most(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:278:19
[INFO] [stdout]     |
[INFO] [stdout] 278 |         let arg = r#try!(args.pop_nodeset_or_context_node(context));
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:295:9
[INFO] [stdout]     |
[INFO] [stdout] 295 |         r#try!(args.at_most(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:309:9
[INFO] [stdout]     |
[INFO] [stdout] 309 |         r#try!(args.at_least(2));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:323:9
[INFO] [stdout]     |
[INFO] [stdout] 323 |         r#try!(args.exactly(2));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/function.rs:331:64
[INFO] [stdout]     |
[INFO] [stdout] 331 |     fn imp(a: &str, b: &str) -> bool { str::starts_with(a, b) };
[INFO] [stdout]     |                                                                ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/function.rs:335:61
[INFO] [stdout]     |
[INFO] [stdout] 335 |     fn imp(a: &str, b: &str) -> bool { str::contains(a, b) };
[INFO] [stdout]     |                                                             ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:347:9
[INFO] [stdout]     |
[INFO] [stdout] 347 |         r#try!(args.exactly(2));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:382:9
[INFO] [stdout]     |
[INFO] [stdout] 382 |         r#try!(args.at_least(2));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:383:9
[INFO] [stdout]     |
[INFO] [stdout] 383 |         r#try!(args.at_most(3));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:386:23
[INFO] [stdout]     |
[INFO] [stdout] 386 |             let len = r#try!(args.pop_number());
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:392:21
[INFO] [stdout]     |
[INFO] [stdout] 392 |         let start = r#try!(args.pop_number());
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:394:17
[INFO] [stdout]     |
[INFO] [stdout] 394 |         let s = r#try!(args.pop_string());
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:418:9
[INFO] [stdout]     |
[INFO] [stdout] 418 |         r#try!(args.at_most(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:432:9
[INFO] [stdout]     |
[INFO] [stdout] 432 |         r#try!(args.at_most(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:449:9
[INFO] [stdout]     |
[INFO] [stdout] 449 |         r#try!(args.exactly(3));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:451:18
[INFO] [stdout]     |
[INFO] [stdout] 451 |         let to = r#try!(args.pop_string());
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:452:20
[INFO] [stdout]     |
[INFO] [stdout] 452 |         let from = r#try!(args.pop_string());
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:453:17
[INFO] [stdout]     |
[INFO] [stdout] 453 |         let s = r#try!(args.pop_string());
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:479:9
[INFO] [stdout]     |
[INFO] [stdout] 479 |         r#try!(args.exactly(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:492:9
[INFO] [stdout]     |
[INFO] [stdout] 492 |         r#try!(args.exactly(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:493:19
[INFO] [stdout]     |
[INFO] [stdout] 493 |         let arg = r#try!(args.pop_boolean());
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:506:9
[INFO] [stdout]     |
[INFO] [stdout] 506 |         r#try!(args.exactly(0));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:522:9
[INFO] [stdout]     |
[INFO] [stdout] 522 |         r#try!(args.at_most(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:536:9
[INFO] [stdout]     |
[INFO] [stdout] 536 |         r#try!(args.exactly(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:537:19
[INFO] [stdout]     |
[INFO] [stdout] 537 |         let arg = r#try!(args.pop_nodeset());
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:551:9
[INFO] [stdout]     |
[INFO] [stdout] 551 |         r#try!(args.exactly(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:552:19
[INFO] [stdout]     |
[INFO] [stdout] 552 |         let arg = r#try!(args.pop_number());
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:140:20
[INFO] [stdout]     |
[INFO] [stdout] 140 |         let left = r#try!(child_parse(source));
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:152:21
[INFO] [stdout]     |
[INFO] [stdout] 152 |                     r#try!(source.consume(&rule.token));
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:154:33
[INFO] [stdout]     |
[INFO] [stdout] 154 |                     let right = r#try!(child_parse(source));
[INFO] [stdout]     |                                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:182:20
[INFO] [stdout]     |
[INFO] [stdout] 182 |         let expr = r#try!((*child_parse)(source));
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:258:13
[INFO] [stdout]     |
[INFO] [stdout] 258 |             r#try!(source.consume(&Token::LeftParen));
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:260:13
[INFO] [stdout]     |
[INFO] [stdout] 260 |             r#try!(source.consume(&Token::RightParen));
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:259:26
[INFO] [stdout]     |
[INFO] [stdout] 259 |             let result = r#try!(self.parse_expression(source));
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:305:13
[INFO] [stdout]     |
[INFO] [stdout] 305 |             r#try!(source.consume(&Token::Comma));
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:307:19
[INFO] [stdout]     |
[INFO] [stdout] 307 |             match r#try!(self.parse_expression(source)) {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:322:15
[INFO] [stdout]     |
[INFO] [stdout] 322 |         match r#try!(self.parse_expression(source)) {
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:336:13
[INFO] [stdout]     |
[INFO] [stdout] 336 |             r#try!(source.consume(&Token::LeftParen));
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:338:13
[INFO] [stdout]     |
[INFO] [stdout] 338 |             r#try!(source.consume(&Token::RightParen));
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:337:29
[INFO] [stdout]     |
[INFO] [stdout] 337 |             let arguments = r#try!(self.parse_function_args(source));
[INFO] [stdout]     |                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:364:13
[INFO] [stdout]     |
[INFO] [stdout] 364 |             r#try!(source.consume(&Token::LeftBracket));
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:366:19
[INFO] [stdout]     |
[INFO] [stdout] 366 |             match r#try!(self.parse_expression(source)) {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:368:21
[INFO] [stdout]     |
[INFO] [stdout] 368 |                     r#try!(source.consume(&Token::RightBracket));
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:383:37
[INFO] [stdout]     |
[INFO] [stdout] 383 |         while let Some(predicate) = r#try!(self.parse_predicate_expression(source)) {
[INFO] [stdout]     |                                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:393:20
[INFO] [stdout]     |
[INFO] [stdout] 393 |         let axis = r#try!(self.parse_axis(source));
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:395:31
[INFO] [stdout]     |
[INFO] [stdout] 395 |         let node_test = match r#try!(self.parse_node_test(source)) {
[INFO] [stdout]     |                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:397:21
[INFO] [stdout]     |
[INFO] [stdout] 397 |             None => r#try!(self.default_node_test(source, axis)),
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:405:26
[INFO] [stdout]     |
[INFO] [stdout] 405 |         let predicates = r#try!(self.parse_predicates(source));
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:415:15
[INFO] [stdout]     |
[INFO] [stdout] 415 |         match r#try!(self.parse_step(source)) {
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:420:21
[INFO] [stdout]     |
[INFO] [stdout] 420 |                     r#try!(source.consume(&Token::Slash));
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:422:27
[INFO] [stdout]     |
[INFO] [stdout] 422 |                     match r#try!(self.parse_step(source)) {
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:445:13
[INFO] [stdout]     |
[INFO] [stdout] 445 |             r#try!(source.consume(&Token::Slash));
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:448:19
[INFO] [stdout]     |
[INFO] [stdout] 448 |             match r#try!(self.parse_relative_location_path_raw(source, start_point)) {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:471:15
[INFO] [stdout]     |
[INFO] [stdout] 471 |         match r#try!(self.parse_primary_expression(source)) {
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:473:34
[INFO] [stdout]     |
[INFO] [stdout] 473 |                 let predicates = r#try!(self.parse_predicates(source));
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:486:20
[INFO] [stdout]     |
[INFO] [stdout] 486 |         let expr = r#try!(self.parse_location_path(source));
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:491:15
[INFO] [stdout]     |
[INFO] [stdout] 491 |         match r#try!(self.parse_filter_expression(source)) {
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:494:21
[INFO] [stdout]     |
[INFO] [stdout] 494 |                     r#try!(source.consume(&Token::Slash));
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:496:27
[INFO] [stdout]     |
[INFO] [stdout] 496 |                     match r#try!(self.parse_relative_location_path_raw(source, expr)) {
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:521:20
[INFO] [stdout]     |
[INFO] [stdout] 521 |         let expr = r#try!(self.parse_union_expression(source));
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:527:13
[INFO] [stdout]     |
[INFO] [stdout] 527 |             r#try!(source.consume(&Token::MinusSign));
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:529:24
[INFO] [stdout]     |
[INFO] [stdout] 529 |             let expr = r#try!(self.parse_unary_expression(source));
[INFO] [stdout]     |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:631:20
[INFO] [stdout]     |
[INFO] [stdout] 631 |         let expr = r#try!(self.parse_or_expression(&mut source));
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:372:21
[INFO] [stdout]     |
[INFO] [stdout] 372 |         let token = r#try!(self.raw_next_token());
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/context.rs:14:42
[INFO] [stdout]    |
[INFO] [stdout] 14 | type Functions = HashMap<OwnedQName, Box<function::Function + 'static>>;
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 | type Functions = HashMap<OwnedQName, Box<dyn function::Function + 'static>>;
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/axis.rs:49:20
[INFO] [stdout]    |
[INFO] [stdout] 49 |     node_test: &'c NodeTest,
[INFO] [stdout]    |                    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 49 |     node_test: &'c dyn NodeTest,
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/expression.rs:73:30
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub type SubExpression = Box<Expression + 'static>;
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub type SubExpression = Box<dyn Expression + 'static>;
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/expression.rs:435:25
[INFO] [stdout]     |
[INFO] [stdout] 435 | pub type StepTest = Box<NodeTest + 'static>;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 435 | pub type StepTest = Box<dyn NodeTest + 'static>;
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:339:22
[INFO] [stdout]     |
[INFO] [stdout] 339 | pub struct XPath(Box<expression::Expression + 'static>);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 339 | pub struct XPath(Box<dyn expression::Expression + 'static>);
[INFO] [stdout]     |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser.rs:175:20
[INFO] [stdout]     |
[INFO] [stdout] 175 | type Rule<'a, I> = Fn(TokenSource<I>) -> ParseResult + 'a;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 175 | type Rule<'a, I> = dyn Fn(TokenSource<I>) -> ParseResult + 'a;
[INFO] [stdout]     |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/axis.rs:22:41
[INFO] [stdout]    |
[INFO] [stdout] 22 | ...                   node_test: &NodeTest) -> OrderedNodes<'d>;
[INFO] [stdout]    |                                   ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |                             node_test: &dyn NodeTest) -> OrderedNodes<'d>;
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/context.rs:179:64
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fn function_for_name(&self, name: QName) -> Option<&'c function::Function> {
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fn function_for_name(&self, name: QName) -> Option<&'c dyn function::Function> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/axis.rs:54:69
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn new(context: &'c context::Evaluation<'c, 'd>, node_test: &'c NodeTest) -> Self {
[INFO] [stdout]    |                                                                     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn new(context: &'c context::Evaluation<'c, 'd>, node_test: &'c dyn NodeTest) -> Self {
[INFO] [stdout]    |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/node_test.rs:20:28
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub type SubNodeTest = Box<NodeTest + 'static>;
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub type SubNodeTest = Box<dyn NodeTest + 'static>;
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/axis.rs:71:41
[INFO] [stdout]    |
[INFO] [stdout] 71 | ...                   node_test: &NodeTest) -> OrderedNodes<'d>
[INFO] [stdout]    |                                   ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 71 |                             node_test: &dyn NodeTest) -> OrderedNodes<'d>
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:414:40
[INFO] [stdout]     |
[INFO] [stdout] 414 |               fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 433 | / opaque_error!(
[INFO] [stdout] 434 | |     /// Errors that may occur when parsing an XPath
[INFO] [stdout] 435 | |     ParserError(parser::Error)
[INFO] [stdout] 436 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:414:40
[INFO] [stdout]     |
[INFO] [stdout] 414 |               fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 438 | / opaque_error!(
[INFO] [stdout] 439 | |     /// Errors that may occur when executing an XPath
[INFO] [stdout] 440 | |     ExecutionError(expression::Error)
[INFO] [stdout] 441 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> src/nodeset.rs:99:10
[INFO] [stdout]    |
[INFO] [stdout] 99 |         };
[INFO] [stdout]    |          ^ help: remove this semicolon
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/nodeset.rs:203:10
[INFO] [stdout]     |
[INFO] [stdout] 203 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/expression.rs:95:20
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let left = r#try!(self.left.evaluate(context)).boolean();
[INFO] [stdout]    |                    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/expression.rs:96:25
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let v = left && r#try!(self.right.evaluate(context)).boolean();
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:121:24
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let left_val = r#try!(self.left.evaluate(context));
[INFO] [stdout]     |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:122:25
[INFO] [stdout]     |
[INFO] [stdout] 122 |         let right_val = r#try!(self.right.evaluate(context));
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:200:28
[INFO] [stdout]     |
[INFO] [stdout] 200 |                 let args = r#try!(self.arguments.iter().map(|arg| arg.evaluate(context)).collect());
[INFO] [stdout]     |                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:259:20
[INFO] [stdout]     |
[INFO] [stdout] 259 |         let left = r#try!(self.left.evaluate(context));
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:260:21
[INFO] [stdout]     |
[INFO] [stdout] 260 |         let right = r#try!(self.right.evaluate(context));
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:293:20
[INFO] [stdout]     |
[INFO] [stdout] 293 |         let left = r#try!(self.left.evaluate(context)).boolean();
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:294:25
[INFO] [stdout]     |
[INFO] [stdout] 294 |         let v = left || r#try!(self.right.evaluate(context)).boolean();
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:313:22
[INFO] [stdout]     |
[INFO] [stdout] 313 |         let result = r#try!(self.start_point.evaluate(context));
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:314:26
[INFO] [stdout]     |
[INFO] [stdout] 314 |         let mut result = r#try!(value_into_nodeset(result));
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:317:22
[INFO] [stdout]     |
[INFO] [stdout] 317 |             result = r#try!(step.evaluate(context, result));
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:381:24
[INFO] [stdout]     |
[INFO] [stdout] 381 |         let left_val = r#try!(self.left.evaluate(context));
[INFO] [stdout]     |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:382:25
[INFO] [stdout]     |
[INFO] [stdout] 382 |         let right_val = r#try!(self.right.evaluate(context));
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:423:21
[INFO] [stdout]     |
[INFO] [stdout] 423 |         let value = r#try!(self.expression.evaluate(context));
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:468:25
[INFO] [stdout]     |
[INFO] [stdout] 468 |                 nodes = r#try!(predicate.select(context, nodes));
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:490:30
[INFO] [stdout]     |
[INFO] [stdout] 490 |         let mut left_nodes = r#try!(as_nodes(&self.left));
[INFO] [stdout]     |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:491:27
[INFO] [stdout]     |
[INFO] [stdout] 491 |         let right_nodes = r#try!(as_nodes(&self.right));
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 199 |         r#try!(args.exactly(0));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:212:9
[INFO] [stdout]     |
[INFO] [stdout] 212 |         r#try!(args.exactly(0));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:225:9
[INFO] [stdout]     |
[INFO] [stdout] 225 |         r#try!(args.exactly(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:226:19
[INFO] [stdout]     |
[INFO] [stdout] 226 |         let arg = r#try!(args.pop_nodeset());
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:239:9
[INFO] [stdout]     |
[INFO] [stdout] 239 |         r#try!(args.at_most(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:240:19
[INFO] [stdout]     |
[INFO] [stdout] 240 |         let arg = r#try!(args.pop_nodeset_or_context_node(context));
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:258:9
[INFO] [stdout]     |
[INFO] [stdout] 258 |         r#try!(args.at_most(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:259:19
[INFO] [stdout]     |
[INFO] [stdout] 259 |         let arg = r#try!(args.pop_nodeset_or_context_node(context));
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:277:9
[INFO] [stdout]     |
[INFO] [stdout] 277 |         r#try!(args.at_most(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:278:19
[INFO] [stdout]     |
[INFO] [stdout] 278 |         let arg = r#try!(args.pop_nodeset_or_context_node(context));
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:295:9
[INFO] [stdout]     |
[INFO] [stdout] 295 |         r#try!(args.at_most(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:309:9
[INFO] [stdout]     |
[INFO] [stdout] 309 |         r#try!(args.at_least(2));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:323:9
[INFO] [stdout]     |
[INFO] [stdout] 323 |         r#try!(args.exactly(2));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/function.rs:331:64
[INFO] [stdout]     |
[INFO] [stdout] 331 |     fn imp(a: &str, b: &str) -> bool { str::starts_with(a, b) };
[INFO] [stdout]     |                                                                ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/function.rs:335:61
[INFO] [stdout]     |
[INFO] [stdout] 335 |     fn imp(a: &str, b: &str) -> bool { str::contains(a, b) };
[INFO] [stdout]     |                                                             ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:347:9
[INFO] [stdout]     |
[INFO] [stdout] 347 |         r#try!(args.exactly(2));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:382:9
[INFO] [stdout]     |
[INFO] [stdout] 382 |         r#try!(args.at_least(2));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:383:9
[INFO] [stdout]     |
[INFO] [stdout] 383 |         r#try!(args.at_most(3));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:386:23
[INFO] [stdout]     |
[INFO] [stdout] 386 |             let len = r#try!(args.pop_number());
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:392:21
[INFO] [stdout]     |
[INFO] [stdout] 392 |         let start = r#try!(args.pop_number());
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:394:17
[INFO] [stdout]     |
[INFO] [stdout] 394 |         let s = r#try!(args.pop_string());
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:418:9
[INFO] [stdout]     |
[INFO] [stdout] 418 |         r#try!(args.at_most(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:432:9
[INFO] [stdout]     |
[INFO] [stdout] 432 |         r#try!(args.at_most(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:449:9
[INFO] [stdout]     |
[INFO] [stdout] 449 |         r#try!(args.exactly(3));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:451:18
[INFO] [stdout]     |
[INFO] [stdout] 451 |         let to = r#try!(args.pop_string());
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:452:20
[INFO] [stdout]     |
[INFO] [stdout] 452 |         let from = r#try!(args.pop_string());
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:453:17
[INFO] [stdout]     |
[INFO] [stdout] 453 |         let s = r#try!(args.pop_string());
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:479:9
[INFO] [stdout]     |
[INFO] [stdout] 479 |         r#try!(args.exactly(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:492:9
[INFO] [stdout]     |
[INFO] [stdout] 492 |         r#try!(args.exactly(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:493:19
[INFO] [stdout]     |
[INFO] [stdout] 493 |         let arg = r#try!(args.pop_boolean());
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:506:9
[INFO] [stdout]     |
[INFO] [stdout] 506 |         r#try!(args.exactly(0));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:522:9
[INFO] [stdout]     |
[INFO] [stdout] 522 |         r#try!(args.at_most(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:536:9
[INFO] [stdout]     |
[INFO] [stdout] 536 |         r#try!(args.exactly(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:537:19
[INFO] [stdout]     |
[INFO] [stdout] 537 |         let arg = r#try!(args.pop_nodeset());
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:551:9
[INFO] [stdout]     |
[INFO] [stdout] 551 |         r#try!(args.exactly(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:552:19
[INFO] [stdout]     |
[INFO] [stdout] 552 |         let arg = r#try!(args.pop_number());
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:140:20
[INFO] [stdout]     |
[INFO] [stdout] 140 |         let left = r#try!(child_parse(source));
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:152:21
[INFO] [stdout]     |
[INFO] [stdout] 152 |                     r#try!(source.consume(&rule.token));
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:154:33
[INFO] [stdout]     |
[INFO] [stdout] 154 |                     let right = r#try!(child_parse(source));
[INFO] [stdout]     |                                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:182:20
[INFO] [stdout]     |
[INFO] [stdout] 182 |         let expr = r#try!((*child_parse)(source));
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:258:13
[INFO] [stdout]     |
[INFO] [stdout] 258 |             r#try!(source.consume(&Token::LeftParen));
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:260:13
[INFO] [stdout]     |
[INFO] [stdout] 260 |             r#try!(source.consume(&Token::RightParen));
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:259:26
[INFO] [stdout]     |
[INFO] [stdout] 259 |             let result = r#try!(self.parse_expression(source));
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:305:13
[INFO] [stdout]     |
[INFO] [stdout] 305 |             r#try!(source.consume(&Token::Comma));
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:307:19
[INFO] [stdout]     |
[INFO] [stdout] 307 |             match r#try!(self.parse_expression(source)) {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:322:15
[INFO] [stdout]     |
[INFO] [stdout] 322 |         match r#try!(self.parse_expression(source)) {
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:336:13
[INFO] [stdout]     |
[INFO] [stdout] 336 |             r#try!(source.consume(&Token::LeftParen));
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:338:13
[INFO] [stdout]     |
[INFO] [stdout] 338 |             r#try!(source.consume(&Token::RightParen));
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:337:29
[INFO] [stdout]     |
[INFO] [stdout] 337 |             let arguments = r#try!(self.parse_function_args(source));
[INFO] [stdout]     |                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:364:13
[INFO] [stdout]     |
[INFO] [stdout] 364 |             r#try!(source.consume(&Token::LeftBracket));
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:366:19
[INFO] [stdout]     |
[INFO] [stdout] 366 |             match r#try!(self.parse_expression(source)) {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:368:21
[INFO] [stdout]     |
[INFO] [stdout] 368 |                     r#try!(source.consume(&Token::RightBracket));
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:383:37
[INFO] [stdout]     |
[INFO] [stdout] 383 |         while let Some(predicate) = r#try!(self.parse_predicate_expression(source)) {
[INFO] [stdout]     |                                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:393:20
[INFO] [stdout]     |
[INFO] [stdout] 393 |         let axis = r#try!(self.parse_axis(source));
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:395:31
[INFO] [stdout]     |
[INFO] [stdout] 395 |         let node_test = match r#try!(self.parse_node_test(source)) {
[INFO] [stdout]     |                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:397:21
[INFO] [stdout]     |
[INFO] [stdout] 397 |             None => r#try!(self.default_node_test(source, axis)),
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:405:26
[INFO] [stdout]     |
[INFO] [stdout] 405 |         let predicates = r#try!(self.parse_predicates(source));
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:415:15
[INFO] [stdout]     |
[INFO] [stdout] 415 |         match r#try!(self.parse_step(source)) {
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:420:21
[INFO] [stdout]     |
[INFO] [stdout] 420 |                     r#try!(source.consume(&Token::Slash));
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:422:27
[INFO] [stdout]     |
[INFO] [stdout] 422 |                     match r#try!(self.parse_step(source)) {
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:445:13
[INFO] [stdout]     |
[INFO] [stdout] 445 |             r#try!(source.consume(&Token::Slash));
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:448:19
[INFO] [stdout]     |
[INFO] [stdout] 448 |             match r#try!(self.parse_relative_location_path_raw(source, start_point)) {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:471:15
[INFO] [stdout]     |
[INFO] [stdout] 471 |         match r#try!(self.parse_primary_expression(source)) {
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:473:34
[INFO] [stdout]     |
[INFO] [stdout] 473 |                 let predicates = r#try!(self.parse_predicates(source));
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:486:20
[INFO] [stdout]     |
[INFO] [stdout] 486 |         let expr = r#try!(self.parse_location_path(source));
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:491:15
[INFO] [stdout]     |
[INFO] [stdout] 491 |         match r#try!(self.parse_filter_expression(source)) {
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:494:21
[INFO] [stdout]     |
[INFO] [stdout] 494 |                     r#try!(source.consume(&Token::Slash));
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:496:27
[INFO] [stdout]     |
[INFO] [stdout] 496 |                     match r#try!(self.parse_relative_location_path_raw(source, expr)) {
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:521:20
[INFO] [stdout]     |
[INFO] [stdout] 521 |         let expr = r#try!(self.parse_union_expression(source));
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:527:13
[INFO] [stdout]     |
[INFO] [stdout] 527 |             r#try!(source.consume(&Token::MinusSign));
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:529:24
[INFO] [stdout]     |
[INFO] [stdout] 529 |             let expr = r#try!(self.parse_unary_expression(source));
[INFO] [stdout]     |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:631:20
[INFO] [stdout]     |
[INFO] [stdout] 631 |         let expr = r#try!(self.parse_or_expression(&mut source));
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:372:21
[INFO] [stdout]     |
[INFO] [stdout] 372 |         let token = r#try!(self.raw_next_token());
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/lib.rs:411:24
[INFO] [stdout]     |
[INFO] [stdout] 411 |                   self.0.description()
[INFO] [stdout]     |                          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 433 | / opaque_error!(
[INFO] [stdout] 434 | |     /// Errors that may occur when parsing an XPath
[INFO] [stdout] 435 | |     ParserError(parser::Error)
[INFO] [stdout] 436 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]    --> src/lib.rs:415:24
[INFO] [stdout]     |
[INFO] [stdout] 415 |                   self.0.cause()
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 433 | / opaque_error!(
[INFO] [stdout] 434 | |     /// Errors that may occur when parsing an XPath
[INFO] [stdout] 435 | |     ParserError(parser::Error)
[INFO] [stdout] 436 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/lib.rs:411:24
[INFO] [stdout]     |
[INFO] [stdout] 411 |                   self.0.description()
[INFO] [stdout]     |                          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 438 | / opaque_error!(
[INFO] [stdout] 439 | |     /// Errors that may occur when executing an XPath
[INFO] [stdout] 440 | |     ExecutionError(expression::Error)
[INFO] [stdout] 441 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]    --> src/lib.rs:415:24
[INFO] [stdout]     |
[INFO] [stdout] 415 |                   self.0.cause()
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 438 | / opaque_error!(
[INFO] [stdout] 439 | |     /// Errors that may occur when executing an XPath
[INFO] [stdout] 440 | |     ExecutionError(expression::Error)
[INFO] [stdout] 441 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/context.rs:14:42
[INFO] [stdout]    |
[INFO] [stdout] 14 | type Functions = HashMap<OwnedQName, Box<function::Function + 'static>>;
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 | type Functions = HashMap<OwnedQName, Box<dyn function::Function + 'static>>;
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/axis.rs:49:20
[INFO] [stdout]    |
[INFO] [stdout] 49 |     node_test: &'c NodeTest,
[INFO] [stdout]    |                    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 49 |     node_test: &'c dyn NodeTest,
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/expression.rs:73:30
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub type SubExpression = Box<Expression + 'static>;
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub type SubExpression = Box<dyn Expression + 'static>;
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/expression.rs:435:25
[INFO] [stdout]     |
[INFO] [stdout] 435 | pub type StepTest = Box<NodeTest + 'static>;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 435 | pub type StepTest = Box<dyn NodeTest + 'static>;
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:339:22
[INFO] [stdout]     |
[INFO] [stdout] 339 | pub struct XPath(Box<expression::Expression + 'static>);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 339 | pub struct XPath(Box<dyn expression::Expression + 'static>);
[INFO] [stdout]     |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser.rs:175:20
[INFO] [stdout]     |
[INFO] [stdout] 175 | type Rule<'a, I> = Fn(TokenSource<I>) -> ParseResult + 'a;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 175 | type Rule<'a, I> = dyn Fn(TokenSource<I>) -> ParseResult + 'a;
[INFO] [stdout]     |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/axis.rs:22:41
[INFO] [stdout]    |
[INFO] [stdout] 22 | ...                   node_test: &NodeTest) -> OrderedNodes<'d>;
[INFO] [stdout]    |                                   ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |                             node_test: &dyn NodeTest) -> OrderedNodes<'d>;
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/context.rs:179:64
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fn function_for_name(&self, name: QName) -> Option<&'c function::Function> {
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fn function_for_name(&self, name: QName) -> Option<&'c dyn function::Function> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/axis.rs:54:69
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn new(context: &'c context::Evaluation<'c, 'd>, node_test: &'c NodeTest) -> Self {
[INFO] [stdout]    |                                                                     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn new(context: &'c context::Evaluation<'c, 'd>, node_test: &'c dyn NodeTest) -> Self {
[INFO] [stdout]    |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/node_test.rs:20:28
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub type SubNodeTest = Box<NodeTest + 'static>;
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub type SubNodeTest = Box<dyn NodeTest + 'static>;
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/axis.rs:71:41
[INFO] [stdout]    |
[INFO] [stdout] 71 | ...                   node_test: &NodeTest) -> OrderedNodes<'d>
[INFO] [stdout]    |                                   ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 71 |                             node_test: &dyn NodeTest) -> OrderedNodes<'d>
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/expression.rs:886:46
[INFO] [stdout]     |
[INFO] [stdout] 886 | ...                   _node_test: &NodeTest) -> OrderedNodes<'d>
[INFO] [stdout]     |                                    ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 886 |                                 _node_test: &dyn NodeTest) -> OrderedNodes<'d>
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:414:40
[INFO] [stdout]     |
[INFO] [stdout] 414 |               fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 433 | / opaque_error!(
[INFO] [stdout] 434 | |     /// Errors that may occur when parsing an XPath
[INFO] [stdout] 435 | |     ParserError(parser::Error)
[INFO] [stdout] 436 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:414:40
[INFO] [stdout]     |
[INFO] [stdout] 414 |               fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 438 | / opaque_error!(
[INFO] [stdout] 439 | |     /// Errors that may occur when executing an XPath
[INFO] [stdout] 440 | |     ExecutionError(expression::Error)
[INFO] [stdout] 441 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/expression.rs:750:27
[INFO] [stdout]     |
[INFO] [stdout] 750 |         let arg_expr: Box<Expression> = Box::new(Literal{value: Value::Boolean(true)});
[INFO] [stdout]     |                           ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 750 |         let arg_expr: Box<dyn Expression> = Box::new(Literal{value: Value::Boolean(true)});
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/lib.rs:411:24
[INFO] [stdout]     |
[INFO] [stdout] 411 |                   self.0.description()
[INFO] [stdout]     |                          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 433 | / opaque_error!(
[INFO] [stdout] 434 | |     /// Errors that may occur when parsing an XPath
[INFO] [stdout] 435 | |     ParserError(parser::Error)
[INFO] [stdout] 436 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]    --> src/lib.rs:415:24
[INFO] [stdout]     |
[INFO] [stdout] 415 |                   self.0.cause()
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 433 | / opaque_error!(
[INFO] [stdout] 434 | |     /// Errors that may occur when parsing an XPath
[INFO] [stdout] 435 | |     ParserError(parser::Error)
[INFO] [stdout] 436 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/lib.rs:411:24
[INFO] [stdout]     |
[INFO] [stdout] 411 |                   self.0.description()
[INFO] [stdout]     |                          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 438 | / opaque_error!(
[INFO] [stdout] 439 | |     /// Errors that may occur when executing an XPath
[INFO] [stdout] 440 | |     ExecutionError(expression::Error)
[INFO] [stdout] 441 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]    --> src/lib.rs:415:24
[INFO] [stdout]     |
[INFO] [stdout] 415 |                   self.0.cause()
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 438 | / opaque_error!(
[INFO] [stdout] 439 | |     /// Errors that may occur when executing an XPath
[INFO] [stdout] 440 | |     ExecutionError(expression::Error)
[INFO] [stdout] 441 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/node_test.rs:193:41
[INFO] [stdout]     |
[INFO] [stdout] 193 |         fn new(package: &'d Package) -> Setup {
[INFO] [stdout]     |                          --             ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'d`
[INFO] [stdout]     |
[INFO] [stdout] 193 |         fn new(package: &'d Package) -> Setup<'d> {
[INFO] [stdout]     |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.73s
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2015 edition to 2018
[INFO] [stderr]     Checking sxd-xpath v0.4.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2018 edition to 2021
[INFO] [stderr]        Fixed src/context.rs (2 fixes)
[INFO] [stderr]        Fixed src/lib.rs (1 fix)
[INFO] [stderr]        Fixed src/parser.rs (1 fix)
[INFO] [stderr]        Fixed src/node_test.rs (1 fix)
[INFO] [stderr]        Fixed src/expression.rs (4 fixes)
[INFO] [stderr]        Fixed src/axis.rs (4 fixes)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:414:40
[INFO] [stdout]     |
[INFO] [stdout] 414 |               fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 433 | / opaque_error!(
[INFO] [stdout] 434 | |     /// Errors that may occur when parsing an XPath
[INFO] [stdout] 435 | |     ParserError(parser::Error)
[INFO] [stdout] 436 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `--force-warn bare-trait-objects` implied by `--force-warn rust-2021-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:414:40
[INFO] [stdout]     |
[INFO] [stdout] 414 |               fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 438 | / opaque_error!(
[INFO] [stdout] 439 | |     /// Errors that may occur when executing an XPath
[INFO] [stdout] 440 | |     ExecutionError(expression::Error)
[INFO] [stdout] 441 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:414:40
[INFO] [stdout]     |
[INFO] [stdout] 414 |               fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 433 | / opaque_error!(
[INFO] [stdout] 434 | |     /// Errors that may occur when parsing an XPath
[INFO] [stdout] 435 | |     ParserError(parser::Error)
[INFO] [stdout] 436 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `--force-warn bare-trait-objects` implied by `--force-warn rust-2021-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:414:40
[INFO] [stdout]     |
[INFO] [stdout] 414 |               fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 438 | / opaque_error!(
[INFO] [stdout] 439 | |     /// Errors that may occur when executing an XPath
[INFO] [stdout] 440 | |     ExecutionError(expression::Error)
[INFO] [stdout] 441 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/integration.rs from 2018 edition to 2021
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.00s
[INFO] [stderr] crater-edition-check: sxd-xpath v0.4.2 (/opt/rustwide/workdir) updating edition from 2018 to 2021
[INFO] [stderr]     Checking sxd-xpath v0.4.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> src/nodeset.rs:99:10
[INFO] [stdout]    |
[INFO] [stdout] 99 |         };
[INFO] [stdout]    |          ^ help: remove this semicolon
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/nodeset.rs:203:10
[INFO] [stdout]     |
[INFO] [stdout] 203 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/expression.rs:95:20
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let left = r#try!(self.left.evaluate(context)).boolean();
[INFO] [stdout]    |                    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/expression.rs:96:25
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let v = left && r#try!(self.right.evaluate(context)).boolean();
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:121:24
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let left_val = r#try!(self.left.evaluate(context));
[INFO] [stdout]     |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:122:25
[INFO] [stdout]     |
[INFO] [stdout] 122 |         let right_val = r#try!(self.right.evaluate(context));
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:200:28
[INFO] [stdout]     |
[INFO] [stdout] 200 |                 let args = r#try!(self.arguments.iter().map(|arg| arg.evaluate(context)).collect());
[INFO] [stdout]     |                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:259:20
[INFO] [stdout]     |
[INFO] [stdout] 259 |         let left = r#try!(self.left.evaluate(context));
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:260:21
[INFO] [stdout]     |
[INFO] [stdout] 260 |         let right = r#try!(self.right.evaluate(context));
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:293:20
[INFO] [stdout]     |
[INFO] [stdout] 293 |         let left = r#try!(self.left.evaluate(context)).boolean();
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:294:25
[INFO] [stdout]     |
[INFO] [stdout] 294 |         let v = left || r#try!(self.right.evaluate(context)).boolean();
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:313:22
[INFO] [stdout]     |
[INFO] [stdout] 313 |         let result = r#try!(self.start_point.evaluate(context));
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:314:26
[INFO] [stdout]     |
[INFO] [stdout] 314 |         let mut result = r#try!(value_into_nodeset(result));
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:317:22
[INFO] [stdout]     |
[INFO] [stdout] 317 |             result = r#try!(step.evaluate(context, result));
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:381:24
[INFO] [stdout]     |
[INFO] [stdout] 381 |         let left_val = r#try!(self.left.evaluate(context));
[INFO] [stdout]     |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:382:25
[INFO] [stdout]     |
[INFO] [stdout] 382 |         let right_val = r#try!(self.right.evaluate(context));
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:423:21
[INFO] [stdout]     |
[INFO] [stdout] 423 |         let value = r#try!(self.expression.evaluate(context));
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:468:25
[INFO] [stdout]     |
[INFO] [stdout] 468 |                 nodes = r#try!(predicate.select(context, nodes));
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:490:30
[INFO] [stdout]     |
[INFO] [stdout] 490 |         let mut left_nodes = r#try!(as_nodes(&self.left));
[INFO] [stdout]     |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:491:27
[INFO] [stdout]     |
[INFO] [stdout] 491 |         let right_nodes = r#try!(as_nodes(&self.right));
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 199 |         r#try!(args.exactly(0));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:212:9
[INFO] [stdout]     |
[INFO] [stdout] 212 |         r#try!(args.exactly(0));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:225:9
[INFO] [stdout]     |
[INFO] [stdout] 225 |         r#try!(args.exactly(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:226:19
[INFO] [stdout]     |
[INFO] [stdout] 226 |         let arg = r#try!(args.pop_nodeset());
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:239:9
[INFO] [stdout]     |
[INFO] [stdout] 239 |         r#try!(args.at_most(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:240:19
[INFO] [stdout]     |
[INFO] [stdout] 240 |         let arg = r#try!(args.pop_nodeset_or_context_node(context));
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:258:9
[INFO] [stdout]     |
[INFO] [stdout] 258 |         r#try!(args.at_most(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:259:19
[INFO] [stdout]     |
[INFO] [stdout] 259 |         let arg = r#try!(args.pop_nodeset_or_context_node(context));
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:277:9
[INFO] [stdout]     |
[INFO] [stdout] 277 |         r#try!(args.at_most(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:278:19
[INFO] [stdout]     |
[INFO] [stdout] 278 |         let arg = r#try!(args.pop_nodeset_or_context_node(context));
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:295:9
[INFO] [stdout]     |
[INFO] [stdout] 295 |         r#try!(args.at_most(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:309:9
[INFO] [stdout]     |
[INFO] [stdout] 309 |         r#try!(args.at_least(2));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:323:9
[INFO] [stdout]     |
[INFO] [stdout] 323 |         r#try!(args.exactly(2));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/function.rs:331:64
[INFO] [stdout]     |
[INFO] [stdout] 331 |     fn imp(a: &str, b: &str) -> bool { str::starts_with(a, b) };
[INFO] [stdout]     |                                                                ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/function.rs:335:61
[INFO] [stdout]     |
[INFO] [stdout] 335 |     fn imp(a: &str, b: &str) -> bool { str::contains(a, b) };
[INFO] [stdout]     |                                                             ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:347:9
[INFO] [stdout]     |
[INFO] [stdout] 347 |         r#try!(args.exactly(2));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:382:9
[INFO] [stdout]     |
[INFO] [stdout] 382 |         r#try!(args.at_least(2));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:383:9
[INFO] [stdout]     |
[INFO] [stdout] 383 |         r#try!(args.at_most(3));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:386:23
[INFO] [stdout]     |
[INFO] [stdout] 386 |             let len = r#try!(args.pop_number());
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:392:21
[INFO] [stdout]     |
[INFO] [stdout] 392 |         let start = r#try!(args.pop_number());
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:394:17
[INFO] [stdout]     |
[INFO] [stdout] 394 |         let s = r#try!(args.pop_string());
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:418:9
[INFO] [stdout]     |
[INFO] [stdout] 418 |         r#try!(args.at_most(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:432:9
[INFO] [stdout]     |
[INFO] [stdout] 432 |         r#try!(args.at_most(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:449:9
[INFO] [stdout]     |
[INFO] [stdout] 449 |         r#try!(args.exactly(3));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:451:18
[INFO] [stdout]     |
[INFO] [stdout] 451 |         let to = r#try!(args.pop_string());
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:452:20
[INFO] [stdout]     |
[INFO] [stdout] 452 |         let from = r#try!(args.pop_string());
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:453:17
[INFO] [stdout]     |
[INFO] [stdout] 453 |         let s = r#try!(args.pop_string());
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:479:9
[INFO] [stdout]     |
[INFO] [stdout] 479 |         r#try!(args.exactly(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:492:9
[INFO] [stdout]     |
[INFO] [stdout] 492 |         r#try!(args.exactly(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:493:19
[INFO] [stdout]     |
[INFO] [stdout] 493 |         let arg = r#try!(args.pop_boolean());
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:506:9
[INFO] [stdout]     |
[INFO] [stdout] 506 |         r#try!(args.exactly(0));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:522:9
[INFO] [stdout]     |
[INFO] [stdout] 522 |         r#try!(args.at_most(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:536:9
[INFO] [stdout]     |
[INFO] [stdout] 536 |         r#try!(args.exactly(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:537:19
[INFO] [stdout]     |
[INFO] [stdout] 537 |         let arg = r#try!(args.pop_nodeset());
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:551:9
[INFO] [stdout]     |
[INFO] [stdout] 551 |         r#try!(args.exactly(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:552:19
[INFO] [stdout]     |
[INFO] [stdout] 552 |         let arg = r#try!(args.pop_number());
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:140:20
[INFO] [stdout]     |
[INFO] [stdout] 140 |         let left = r#try!(child_parse(source));
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:152:21
[INFO] [stdout]     |
[INFO] [stdout] 152 |                     r#try!(source.consume(&rule.token));
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:154:33
[INFO] [stdout]     |
[INFO] [stdout] 154 |                     let right = r#try!(child_parse(source));
[INFO] [stdout]     |                                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:182:20
[INFO] [stdout]     |
[INFO] [stdout] 182 |         let expr = r#try!((*child_parse)(source));
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:258:13
[INFO] [stdout]     |
[INFO] [stdout] 258 |             r#try!(source.consume(&Token::LeftParen));
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:260:13
[INFO] [stdout]     |
[INFO] [stdout] 260 |             r#try!(source.consume(&Token::RightParen));
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:259:26
[INFO] [stdout]     |
[INFO] [stdout] 259 |             let result = r#try!(self.parse_expression(source));
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:305:13
[INFO] [stdout]     |
[INFO] [stdout] 305 |             r#try!(source.consume(&Token::Comma));
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:307:19
[INFO] [stdout]     |
[INFO] [stdout] 307 |             match r#try!(self.parse_expression(source)) {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:322:15
[INFO] [stdout]     |
[INFO] [stdout] 322 |         match r#try!(self.parse_expression(source)) {
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:336:13
[INFO] [stdout]     |
[INFO] [stdout] 336 |             r#try!(source.consume(&Token::LeftParen));
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:338:13
[INFO] [stdout]     |
[INFO] [stdout] 338 |             r#try!(source.consume(&Token::RightParen));
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:337:29
[INFO] [stdout]     |
[INFO] [stdout] 337 |             let arguments = r#try!(self.parse_function_args(source));
[INFO] [stdout]     |                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:364:13
[INFO] [stdout]     |
[INFO] [stdout] 364 |             r#try!(source.consume(&Token::LeftBracket));
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:366:19
[INFO] [stdout]     |
[INFO] [stdout] 366 |             match r#try!(self.parse_expression(source)) {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:368:21
[INFO] [stdout]     |
[INFO] [stdout] 368 |                     r#try!(source.consume(&Token::RightBracket));
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:383:37
[INFO] [stdout]     |
[INFO] [stdout] 383 |         while let Some(predicate) = r#try!(self.parse_predicate_expression(source)) {
[INFO] [stdout]     |                                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:393:20
[INFO] [stdout]     |
[INFO] [stdout] 393 |         let axis = r#try!(self.parse_axis(source));
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:395:31
[INFO] [stdout]     |
[INFO] [stdout] 395 |         let node_test = match r#try!(self.parse_node_test(source)) {
[INFO] [stdout]     |                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:397:21
[INFO] [stdout]     |
[INFO] [stdout] 397 |             None => r#try!(self.default_node_test(source, axis)),
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:405:26
[INFO] [stdout]     |
[INFO] [stdout] 405 |         let predicates = r#try!(self.parse_predicates(source));
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:415:15
[INFO] [stdout]     |
[INFO] [stdout] 415 |         match r#try!(self.parse_step(source)) {
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:420:21
[INFO] [stdout]     |
[INFO] [stdout] 420 |                     r#try!(source.consume(&Token::Slash));
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:422:27
[INFO] [stdout]     |
[INFO] [stdout] 422 |                     match r#try!(self.parse_step(source)) {
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:445:13
[INFO] [stdout]     |
[INFO] [stdout] 445 |             r#try!(source.consume(&Token::Slash));
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:448:19
[INFO] [stdout]     |
[INFO] [stdout] 448 |             match r#try!(self.parse_relative_location_path_raw(source, start_point)) {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:471:15
[INFO] [stdout]     |
[INFO] [stdout] 471 |         match r#try!(self.parse_primary_expression(source)) {
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:473:34
[INFO] [stdout]     |
[INFO] [stdout] 473 |                 let predicates = r#try!(self.parse_predicates(source));
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:486:20
[INFO] [stdout]     |
[INFO] [stdout] 486 |         let expr = r#try!(self.parse_location_path(source));
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:491:15
[INFO] [stdout]     |
[INFO] [stdout] 491 |         match r#try!(self.parse_filter_expression(source)) {
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:494:21
[INFO] [stdout]     |
[INFO] [stdout] 494 |                     r#try!(source.consume(&Token::Slash));
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:496:27
[INFO] [stdout]     |
[INFO] [stdout] 496 |                     match r#try!(self.parse_relative_location_path_raw(source, expr)) {
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:521:20
[INFO] [stdout]     |
[INFO] [stdout] 521 |         let expr = r#try!(self.parse_union_expression(source));
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:527:13
[INFO] [stdout]     |
[INFO] [stdout] 527 |             r#try!(source.consume(&Token::MinusSign));
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:529:24
[INFO] [stdout]     |
[INFO] [stdout] 529 |             let expr = r#try!(self.parse_unary_expression(source));
[INFO] [stdout]     |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:631:20
[INFO] [stdout]     |
[INFO] [stdout] 631 |         let expr = r#try!(self.parse_or_expression(&mut source));
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:372:21
[INFO] [stdout]     |
[INFO] [stdout] 372 |         let token = r#try!(self.raw_next_token());
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:414:40
[INFO] [stdout]     |
[INFO] [stdout] 414 |               fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 433 | / opaque_error!(
[INFO] [stdout] 434 | |     /// Errors that may occur when parsing an XPath
[INFO] [stdout] 435 | |     ParserError(parser::Error)
[INFO] [stdout] 436 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:414:40
[INFO] [stdout]     |
[INFO] [stdout] 414 |               fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 438 | / opaque_error!(
[INFO] [stdout] 439 | |     /// Errors that may occur when executing an XPath
[INFO] [stdout] 440 | |     ExecutionError(expression::Error)
[INFO] [stdout] 441 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/lib.rs:411:24
[INFO] [stdout]     |
[INFO] [stdout] 411 |                   self.0.description()
[INFO] [stdout]     |                          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 433 | / opaque_error!(
[INFO] [stdout] 434 | |     /// Errors that may occur when parsing an XPath
[INFO] [stdout] 435 | |     ParserError(parser::Error)
[INFO] [stdout] 436 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]    --> src/lib.rs:415:24
[INFO] [stdout]     |
[INFO] [stdout] 415 |                   self.0.cause()
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 433 | / opaque_error!(
[INFO] [stdout] 434 | |     /// Errors that may occur when parsing an XPath
[INFO] [stdout] 435 | |     ParserError(parser::Error)
[INFO] [stdout] 436 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/lib.rs:411:24
[INFO] [stdout]     |
[INFO] [stdout] 411 |                   self.0.description()
[INFO] [stdout]     |                          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 438 | / opaque_error!(
[INFO] [stdout] 439 | |     /// Errors that may occur when executing an XPath
[INFO] [stdout] 440 | |     ExecutionError(expression::Error)
[INFO] [stdout] 441 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]    --> src/lib.rs:415:24
[INFO] [stdout]     |
[INFO] [stdout] 415 |                   self.0.cause()
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 438 | / opaque_error!(
[INFO] [stdout] 439 | |     /// Errors that may occur when executing an XPath
[INFO] [stdout] 440 | |     ExecutionError(expression::Error)
[INFO] [stdout] 441 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> src/nodeset.rs:99:10
[INFO] [stdout]    |
[INFO] [stdout] 99 |         };
[INFO] [stdout]    |          ^ help: remove this semicolon
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/nodeset.rs:203:10
[INFO] [stdout]     |
[INFO] [stdout] 203 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/expression.rs:95:20
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let left = r#try!(self.left.evaluate(context)).boolean();
[INFO] [stdout]    |                    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/expression.rs:96:25
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let v = left && r#try!(self.right.evaluate(context)).boolean();
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:121:24
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let left_val = r#try!(self.left.evaluate(context));
[INFO] [stdout]     |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:122:25
[INFO] [stdout]     |
[INFO] [stdout] 122 |         let right_val = r#try!(self.right.evaluate(context));
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:200:28
[INFO] [stdout]     |
[INFO] [stdout] 200 |                 let args = r#try!(self.arguments.iter().map(|arg| arg.evaluate(context)).collect());
[INFO] [stdout]     |                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:259:20
[INFO] [stdout]     |
[INFO] [stdout] 259 |         let left = r#try!(self.left.evaluate(context));
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:260:21
[INFO] [stdout]     |
[INFO] [stdout] 260 |         let right = r#try!(self.right.evaluate(context));
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:293:20
[INFO] [stdout]     |
[INFO] [stdout] 293 |         let left = r#try!(self.left.evaluate(context)).boolean();
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:294:25
[INFO] [stdout]     |
[INFO] [stdout] 294 |         let v = left || r#try!(self.right.evaluate(context)).boolean();
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:313:22
[INFO] [stdout]     |
[INFO] [stdout] 313 |         let result = r#try!(self.start_point.evaluate(context));
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:314:26
[INFO] [stdout]     |
[INFO] [stdout] 314 |         let mut result = r#try!(value_into_nodeset(result));
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:317:22
[INFO] [stdout]     |
[INFO] [stdout] 317 |             result = r#try!(step.evaluate(context, result));
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:381:24
[INFO] [stdout]     |
[INFO] [stdout] 381 |         let left_val = r#try!(self.left.evaluate(context));
[INFO] [stdout]     |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:382:25
[INFO] [stdout]     |
[INFO] [stdout] 382 |         let right_val = r#try!(self.right.evaluate(context));
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:423:21
[INFO] [stdout]     |
[INFO] [stdout] 423 |         let value = r#try!(self.expression.evaluate(context));
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:468:25
[INFO] [stdout]     |
[INFO] [stdout] 468 |                 nodes = r#try!(predicate.select(context, nodes));
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:490:30
[INFO] [stdout]     |
[INFO] [stdout] 490 |         let mut left_nodes = r#try!(as_nodes(&self.left));
[INFO] [stdout]     |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/expression.rs:491:27
[INFO] [stdout]     |
[INFO] [stdout] 491 |         let right_nodes = r#try!(as_nodes(&self.right));
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 199 |         r#try!(args.exactly(0));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:212:9
[INFO] [stdout]     |
[INFO] [stdout] 212 |         r#try!(args.exactly(0));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:225:9
[INFO] [stdout]     |
[INFO] [stdout] 225 |         r#try!(args.exactly(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:226:19
[INFO] [stdout]     |
[INFO] [stdout] 226 |         let arg = r#try!(args.pop_nodeset());
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:239:9
[INFO] [stdout]     |
[INFO] [stdout] 239 |         r#try!(args.at_most(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:240:19
[INFO] [stdout]     |
[INFO] [stdout] 240 |         let arg = r#try!(args.pop_nodeset_or_context_node(context));
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:258:9
[INFO] [stdout]     |
[INFO] [stdout] 258 |         r#try!(args.at_most(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:259:19
[INFO] [stdout]     |
[INFO] [stdout] 259 |         let arg = r#try!(args.pop_nodeset_or_context_node(context));
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:277:9
[INFO] [stdout]     |
[INFO] [stdout] 277 |         r#try!(args.at_most(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:278:19
[INFO] [stdout]     |
[INFO] [stdout] 278 |         let arg = r#try!(args.pop_nodeset_or_context_node(context));
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:295:9
[INFO] [stdout]     |
[INFO] [stdout] 295 |         r#try!(args.at_most(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:309:9
[INFO] [stdout]     |
[INFO] [stdout] 309 |         r#try!(args.at_least(2));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:323:9
[INFO] [stdout]     |
[INFO] [stdout] 323 |         r#try!(args.exactly(2));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/function.rs:331:64
[INFO] [stdout]     |
[INFO] [stdout] 331 |     fn imp(a: &str, b: &str) -> bool { str::starts_with(a, b) };
[INFO] [stdout]     |                                                                ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/function.rs:335:61
[INFO] [stdout]     |
[INFO] [stdout] 335 |     fn imp(a: &str, b: &str) -> bool { str::contains(a, b) };
[INFO] [stdout]     |                                                             ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:347:9
[INFO] [stdout]     |
[INFO] [stdout] 347 |         r#try!(args.exactly(2));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:382:9
[INFO] [stdout]     |
[INFO] [stdout] 382 |         r#try!(args.at_least(2));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:383:9
[INFO] [stdout]     |
[INFO] [stdout] 383 |         r#try!(args.at_most(3));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:386:23
[INFO] [stdout]     |
[INFO] [stdout] 386 |             let len = r#try!(args.pop_number());
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:392:21
[INFO] [stdout]     |
[INFO] [stdout] 392 |         let start = r#try!(args.pop_number());
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:394:17
[INFO] [stdout]     |
[INFO] [stdout] 394 |         let s = r#try!(args.pop_string());
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:418:9
[INFO] [stdout]     |
[INFO] [stdout] 418 |         r#try!(args.at_most(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:432:9
[INFO] [stdout]     |
[INFO] [stdout] 432 |         r#try!(args.at_most(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:449:9
[INFO] [stdout]     |
[INFO] [stdout] 449 |         r#try!(args.exactly(3));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:451:18
[INFO] [stdout]     |
[INFO] [stdout] 451 |         let to = r#try!(args.pop_string());
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:452:20
[INFO] [stdout]     |
[INFO] [stdout] 452 |         let from = r#try!(args.pop_string());
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:453:17
[INFO] [stdout]     |
[INFO] [stdout] 453 |         let s = r#try!(args.pop_string());
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:479:9
[INFO] [stdout]     |
[INFO] [stdout] 479 |         r#try!(args.exactly(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:492:9
[INFO] [stdout]     |
[INFO] [stdout] 492 |         r#try!(args.exactly(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:493:19
[INFO] [stdout]     |
[INFO] [stdout] 493 |         let arg = r#try!(args.pop_boolean());
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:506:9
[INFO] [stdout]     |
[INFO] [stdout] 506 |         r#try!(args.exactly(0));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:522:9
[INFO] [stdout]     |
[INFO] [stdout] 522 |         r#try!(args.at_most(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:536:9
[INFO] [stdout]     |
[INFO] [stdout] 536 |         r#try!(args.exactly(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:537:19
[INFO] [stdout]     |
[INFO] [stdout] 537 |         let arg = r#try!(args.pop_nodeset());
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:551:9
[INFO] [stdout]     |
[INFO] [stdout] 551 |         r#try!(args.exactly(1));
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/function.rs:552:19
[INFO] [stdout]     |
[INFO] [stdout] 552 |         let arg = r#try!(args.pop_number());
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:140:20
[INFO] [stdout]     |
[INFO] [stdout] 140 |         let left = r#try!(child_parse(source));
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:152:21
[INFO] [stdout]     |
[INFO] [stdout] 152 |                     r#try!(source.consume(&rule.token));
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:154:33
[INFO] [stdout]     |
[INFO] [stdout] 154 |                     let right = r#try!(child_parse(source));
[INFO] [stdout]     |                                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:182:20
[INFO] [stdout]     |
[INFO] [stdout] 182 |         let expr = r#try!((*child_parse)(source));
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:258:13
[INFO] [stdout]     |
[INFO] [stdout] 258 |             r#try!(source.consume(&Token::LeftParen));
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:260:13
[INFO] [stdout]     |
[INFO] [stdout] 260 |             r#try!(source.consume(&Token::RightParen));
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:259:26
[INFO] [stdout]     |
[INFO] [stdout] 259 |             let result = r#try!(self.parse_expression(source));
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:305:13
[INFO] [stdout]     |
[INFO] [stdout] 305 |             r#try!(source.consume(&Token::Comma));
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:307:19
[INFO] [stdout]     |
[INFO] [stdout] 307 |             match r#try!(self.parse_expression(source)) {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:322:15
[INFO] [stdout]     |
[INFO] [stdout] 322 |         match r#try!(self.parse_expression(source)) {
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:336:13
[INFO] [stdout]     |
[INFO] [stdout] 336 |             r#try!(source.consume(&Token::LeftParen));
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:338:13
[INFO] [stdout]     |
[INFO] [stdout] 338 |             r#try!(source.consume(&Token::RightParen));
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:337:29
[INFO] [stdout]     |
[INFO] [stdout] 337 |             let arguments = r#try!(self.parse_function_args(source));
[INFO] [stdout]     |                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:364:13
[INFO] [stdout]     |
[INFO] [stdout] 364 |             r#try!(source.consume(&Token::LeftBracket));
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:366:19
[INFO] [stdout]     |
[INFO] [stdout] 366 |             match r#try!(self.parse_expression(source)) {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:368:21
[INFO] [stdout]     |
[INFO] [stdout] 368 |                     r#try!(source.consume(&Token::RightBracket));
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:383:37
[INFO] [stdout]     |
[INFO] [stdout] 383 |         while let Some(predicate) = r#try!(self.parse_predicate_expression(source)) {
[INFO] [stdout]     |                                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:393:20
[INFO] [stdout]     |
[INFO] [stdout] 393 |         let axis = r#try!(self.parse_axis(source));
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:395:31
[INFO] [stdout]     |
[INFO] [stdout] 395 |         let node_test = match r#try!(self.parse_node_test(source)) {
[INFO] [stdout]     |                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:397:21
[INFO] [stdout]     |
[INFO] [stdout] 397 |             None => r#try!(self.default_node_test(source, axis)),
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:405:26
[INFO] [stdout]     |
[INFO] [stdout] 405 |         let predicates = r#try!(self.parse_predicates(source));
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:415:15
[INFO] [stdout]     |
[INFO] [stdout] 415 |         match r#try!(self.parse_step(source)) {
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:420:21
[INFO] [stdout]     |
[INFO] [stdout] 420 |                     r#try!(source.consume(&Token::Slash));
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:422:27
[INFO] [stdout]     |
[INFO] [stdout] 422 |                     match r#try!(self.parse_step(source)) {
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:445:13
[INFO] [stdout]     |
[INFO] [stdout] 445 |             r#try!(source.consume(&Token::Slash));
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:448:19
[INFO] [stdout]     |
[INFO] [stdout] 448 |             match r#try!(self.parse_relative_location_path_raw(source, start_point)) {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:471:15
[INFO] [stdout]     |
[INFO] [stdout] 471 |         match r#try!(self.parse_primary_expression(source)) {
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:473:34
[INFO] [stdout]     |
[INFO] [stdout] 473 |                 let predicates = r#try!(self.parse_predicates(source));
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:486:20
[INFO] [stdout]     |
[INFO] [stdout] 486 |         let expr = r#try!(self.parse_location_path(source));
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:491:15
[INFO] [stdout]     |
[INFO] [stdout] 491 |         match r#try!(self.parse_filter_expression(source)) {
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:494:21
[INFO] [stdout]     |
[INFO] [stdout] 494 |                     r#try!(source.consume(&Token::Slash));
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:496:27
[INFO] [stdout]     |
[INFO] [stdout] 496 |                     match r#try!(self.parse_relative_location_path_raw(source, expr)) {
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:521:20
[INFO] [stdout]     |
[INFO] [stdout] 521 |         let expr = r#try!(self.parse_union_expression(source));
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:527:13
[INFO] [stdout]     |
[INFO] [stdout] 527 |             r#try!(source.consume(&Token::MinusSign));
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:529:24
[INFO] [stdout]     |
[INFO] [stdout] 529 |             let expr = r#try!(self.parse_unary_expression(source));
[INFO] [stdout]     |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:631:20
[INFO] [stdout]     |
[INFO] [stdout] 631 |         let expr = r#try!(self.parse_or_expression(&mut source));
[INFO] [stdout]     |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/tokenizer.rs:372:21
[INFO] [stdout]     |
[INFO] [stdout] 372 |         let token = r#try!(self.raw_next_token());
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:414:40
[INFO] [stdout]     |
[INFO] [stdout] 414 |               fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 433 | / opaque_error!(
[INFO] [stdout] 434 | |     /// Errors that may occur when parsing an XPath
[INFO] [stdout] 435 | |     ParserError(parser::Error)
[INFO] [stdout] 436 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:414:40
[INFO] [stdout]     |
[INFO] [stdout] 414 |               fn cause(&self) -> Option<&std::error::Error> {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 438 | / opaque_error!(
[INFO] [stdout] 439 | |     /// Errors that may occur when executing an XPath
[INFO] [stdout] 440 | |     ExecutionError(expression::Error)
[INFO] [stdout] 441 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0782`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `sxd-xpath` (lib) due to 2 previous errors; 97 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/lib.rs:411:24
[INFO] [stdout]     |
[INFO] [stdout] 411 |                   self.0.description()
[INFO] [stdout]     |                          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 433 | / opaque_error!(
[INFO] [stdout] 434 | |     /// Errors that may occur when parsing an XPath
[INFO] [stdout] 435 | |     ParserError(parser::Error)
[INFO] [stdout] 436 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]    --> src/lib.rs:415:24
[INFO] [stdout]     |
[INFO] [stdout] 415 |                   self.0.cause()
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 433 | / opaque_error!(
[INFO] [stdout] 434 | |     /// Errors that may occur when parsing an XPath
[INFO] [stdout] 435 | |     ParserError(parser::Error)
[INFO] [stdout] 436 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/lib.rs:411:24
[INFO] [stdout]     |
[INFO] [stdout] 411 |                   self.0.description()
[INFO] [stdout]     |                          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 438 | / opaque_error!(
[INFO] [stdout] 439 | |     /// Errors that may occur when executing an XPath
[INFO] [stdout] 440 | |     ExecutionError(expression::Error)
[INFO] [stdout] 441 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]    --> src/lib.rs:415:24
[INFO] [stdout]     |
[INFO] [stdout] 415 |                   self.0.cause()
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 438 | / opaque_error!(
[INFO] [stdout] 439 | |     /// Errors that may occur when executing an XPath
[INFO] [stdout] 440 | |     ExecutionError(expression::Error)
[INFO] [stdout] 441 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `opaque_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0782`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `sxd-xpath` (lib test) due to 2 previous errors; 97 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "9c3f44d4d89a7a2808b29786bae92a3a1a9ef9e66a663b0b6dc97b4f77379cb1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9c3f44d4d89a7a2808b29786bae92a3a1a9ef9e66a663b0b6dc97b4f77379cb1", kill_on_drop: false }`
[INFO] [stdout] 9c3f44d4d89a7a2808b29786bae92a3a1a9ef9e66a663b0b6dc97b4f77379cb1
